Skip to content

feat(provider): scaffold Sazabi cloud provider#4316

Closed
alex-holovach wants to merge 1 commit into
pingdotgg:mainfrom
alex-holovach:ah/sazabi-cloud-provider-scaffold
Closed

feat(provider): scaffold Sazabi cloud provider#4316
alex-holovach wants to merge 1 commit into
pingdotgg:mainfrom
alex-holovach:ah/sazabi-cloud-provider-scaffold

Conversation

@alex-holovach

@alex-holovach alex-holovach commented Jul 22, 2026

Copy link
Copy Markdown

No description provided.

Add contracts, driver, availability probe, an empty (not-yet-streaming)
adapter, and heuristic text generation for Sazabi as a cloud provider
(Path A: talks to the Sazabi public API over HTTP/SSE, not a local ACP
CLI harness).

Scope (PR T1 — scaffold only):
- contracts: `sazabi` driver kind, `SazabiSettings` (enabled, apiBaseUrl,
  projectId, optional binaryPath), legacy `providers.sazabi` hydration,
  model defaults + display name. The API token is read from the
  `SAZABI_TOKEN` env var and is deliberately absent from settings so no
  secret is persisted to disk.
- driver + probe: `SazabiDriver` registered in `builtInDrivers`;
  `SazabiProvider` reports availability from auth presence (SAZABI_TOKEN,
  or an optional `sazabi whoami`) with a clear unavailable reason.
- adapter: implements `ProviderAdapterShape` with a wired-up (empty)
  `streamEvents` PubSub; session/turn ops return clear "not implemented"
  errors and interrupt/stop are safe no-ops.
- web: minimal catalog wiring so the provider shows in settings.
- tests: settings decode, probe unavailable-without-token, adapter stubs.

Depends on the upcoming Sazabi public API (messages send / SSE stream /
cancel). PR T2 replaces the stub adapter with real streaming +
interrupt->cancel + tool item lifecycle.

Co-authored-by: Cursor <cursoragent@cursor.com>
@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 7a3dfeab-95cc-4994-a89b-554a72675bd8

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XL 500-999 changed lines (additions + deletions). labels Jul 22, 2026

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit d2e0f75. Configure here.

placeholder: DEFAULT_SAZABI_API_BASE_URL,
clearWhenEmpty: "omit",
},
}),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

API base URL default never applied

Low Severity

DEFAULT_SAZABI_API_BASE_URL is documented as the fallback when apiBaseUrl is blank, and the form describes the field as an override with that URL as the placeholder, but decoding defaults apiBaseUrl to "" and nothing applies the constant. Blank settings therefore do not resolve to the advertised base URL once request code lands.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit d2e0f75. Configure here.

@macroscopeapp

macroscopeapp Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

This PR introduces a new cloud provider (Sazabi) with cross-cutting changes across server, web, and contracts packages. While explicitly a scaffold with disabled-by-default behavior, it adds new user-facing capability in the provider catalog and settings UI, warranting human review for the integration approach.

You can customize Macroscope's approvability policy. Learn more.

@alex-holovach

Copy link
Copy Markdown
Author

Closing — this work was meant to stay local; opened by mistake via a personal fork.

@alex-holovach
alex-holovach deleted the ah/sazabi-cloud-provider-scaffold branch July 23, 2026 00:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL 500-999 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant